// NoOpNode.java
package org.zjx.core.nodes;

import org.zjx.core.DecisionContext;
import org.zjx.core.DecisionNode;
import org.zjx.core.GameAction;

/**
 * 空操作节点（占位用）
 *
 * 功能说明：
 * 1. 这是一个不执行任何实际操作的决策节点
 * 2. 主要作为占位符使用，在决策树中占据位置但不产生任何行为
 * 3. 可以用于构建决策树的骨架结构，后续再填充具体逻辑
 *
 * 使用场景：
 * - 当需要在决策树中预留位置但暂时不确定具体行为时
 * - 作为默认分支或 fallback 分支使用
 * - 在开发过程中作为临时占位，后续替换为具体实现
 *
 * 注意事项：
 * - decide()方法始终返回null，表示不产生任何游戏动作
 * - 不会修改决策上下文状态
 */
public class NoOpNode implements DecisionNode {
    @Override
    public GameAction decide(DecisionContext context) {
        return null;
    }
}